██████╗ ███████╗████████╗██╗██████╗ ███████╗██████╗ ██╗ █████╗
██╔══██╗██╔════╝╚══██╔══╝██║██╔══██╗██╔════╝██╔══██╗██║██╔══██╗
██████╔╝█████╗ ██║ ██║██████╔╝█████╗ ██║ ██║██║███████║
██╔══██╗██╔══╝ ██║ ██║██╔═══╝ ██╔══╝ ██║ ██║██║██╔══██║
██║ ██║███████╗ ██║ ██║██║ ███████╗██████╔╝██║██║ ██║
╚═╝ ╚═╝╚══════╝ ╚═╝ ╚═╝╚═╝ ╚══════╝╚═════╝ ╚═╝╚═╝ ╚═╝
- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
ASP.NET
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
top
mwbqASP.NET è un progetto mwbgopen sourcecite-ref-1[1]cite-ref-2[2] che comprende un insieme di tecnologie di sviluppo di mwdwsoftware per il mweaweb, commercializzate da mweqMicrosoft. Utilizzando queste tecnologie, gli sviluppatori possono realizzare mwegapplicazioni web e mwewservizi web (mwfaweb service).
È stato pubblicato per la prima volta nel gennaio 2002cite-ref-3[3] con la versione 1.0 del mwgg.NET Framework ed è il successore della tecnologia mwgwActive Server Pages (ASP) di Microsoft. ASP.NET è costruito sul mwhaCommon Language Runtime (CLR), permettendo ai programmatori di scrivere codice ASP.NET usando qualsiasi linguaggio .NET supportato. Il framework di estensione ASP.NET mwhqSOAP permette ai componenti ASP.NET di elaborare messaggi SOAP.
Il successore di ASP.NET è ASP.NET Core. È una reimplementazione di ASP.NET come mwhwframework per applicazioni web modulare, insieme ad altri framework come mwiaEntity Framework. Il nuovo framework usa il nuovo progetto open-source .NET Compiler Platform (nome in codice "Roslyn") ed è mwiqmultipiattaforma. mwigASP.NET MVC, ASP.NET Web API, e ASP.NET Web Pages (una piattaforma che usa solo pagine Razor) si sono fusi in un MVC 6 unificatocite-ref-4[4].
Contents
• Versioni
• Note
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Principi su cui si basa ASP.NET
Sebbene il nome ASP.NET derivi da mwkgASP (mwkwActive Server Pages) (la vecchia tecnologia per lo sviluppo web di mwlaMicrosoft), esistono sostanziali differenze fra le due. Infatti ASP.NET si basa, come tutte le applicazioni della famiglia mwlqMicrosoft .NET, sul mwlgCLR (mwlwCommon Language Runtime).
Gli sviluppatori possono scrivere codice utilizzando uno qualsiasi dei linguaggi di alto livello supportati dal mwmqframework (libreria di classi) mwmg.NET, come ad esempio mwmwVisual Basic .Net (proprietario Microsoft), mwnaC# (pronunciato mwnqC sharp, linguaggio soggetto a una specifica di standardizzazione), mwngJ# (mwnwJ sharp, derivato da Java) ma anche molti altri linguaggi mwoaopen source e non, come mwoqPerl e mwogPython; questo è possibile poiché il mwowCLR è stato standardizzato presso mwpaECMA. Le applicazioni ASP.NET sono significativamente più veloci e performanti rispetto a quelle realizzate utilizzando altre tecnologie di mwpqscripting, in quanto l'intero codice del sito web è pre-compilato in pochi file mwpgdll (spesso in un unico file) gestiti da un mwpwserver web.
ASP.NET si propone di semplificare la migrazione degli sviluppatori dalle applicazioni mwqqWindows alle applicazioni web mettendoli in grado di generare pagine composte da tanti controlli mwqgwidget, del tutto simili a quelli usati dall'mwqwinterfaccia utente di Windows.
Un controllo web, come ad esempio un mwrqpulsante o unmwrg'mwrwetichetta (label), funzionano in modo molto simile a quello delle loro controparti Windows: il codice ad essi associato può assegnare loro determinate mwsaproprietà ed eseguire azioni in risposta ad mwsqeventi ad essi associati (ad esempio alla pressione di un pulsante). La differenza sta nel fatto che, mentre i controlli Windows disegnano se stessi sullo schermo, i controlli web producono blocchi di codice mwsgHTML che vanno ad inserirsi automaticamente nella pagina che deve essere inviata al mwswbrowser dell'utente finale.
Paradigma di programmazione di ASP.NET
ASP.NET è progettato in modo da incoraggiare lo sviluppatore ad usare in modo sistematico il mwtgparadigma dell'mwtwinterfaccia grafica (mwuaGUI, per Graphical User Interface) abbinato alla cosiddetta mwuqprogrammazione ad eventi (mwugevent-driven), cioè allo stile di programmazione in cui i vari blocchi di codice vengono eseguiti in risposta a determinati mwuweventi, o azioni, su controlli dotati di rappresentazione grafica sul mwvadesktop.
Lo stile convenzionale dei linguaggi per lo sviluppo di applicazioni web si era invece finora basato sulla tecnica dello mwvgscripting. Le classi della libreria Framework. NET si propongono, inoltre, di combinarsi ed interagire con le tecnologie esistenti, come ad esempio mwvwJavaScript, in modo da attribuire un carattere di mwwapersistenza ad oggetti software, anche nell'ambito di un ambiente come il web, che è intrinsecamente privo di stato (mwwqstateless server).
La libreria di classi Framework. NET, implementa la struttura del CLR (Common Language Runtime), la cui base è formata da un mwwwcompilatore JIT (mwxajust in time). Ciò significa che il codice intermedio prodotto, chiamato IL (Intermediate Language) ed identico per tutti i linguaggi di alto livello impiegati, viene compilato in mwxglinguaggio macchina al momento della prima esecuzione. Utilizzando diversi compilatori mwxwjust in time è possibile riutilizzare lo stesso IL intermedio su mwyaprocessori diversi. Questa tecnica viene definita mwyqJitting. Questo tipo di compilazione è ben diverso da linguaggi come ad esempio mwygJava, nei quali invece tutto il codice gira su una vera e propria mwywmacchina virtuale, mentre in .NET al momento dell'esecuzione il programma è effettivamente in linguaggio macchina come tutti gli altri linguaggi.
Come tutti gli altri linguaggi della suite .NET, anche ASP.NET utilizza il meccanismo di disallocazione automatica della memoria denominato mwzqgarbage collector.
Punti di forza di ASP.NET rispetto ad ASP
La vasta disponibilità di controlli, classi e strumenti di sviluppo consente di ridurre sensibilmente i tempi di sviluppo dei moduli software, e mette lo sviluppatore in condizione di riutilizzare facilmente uno stesso codice in applicazioni differenti. ASP.NET ha inoltre semplificato significativamente le funzionalità di accesso ai dati rispetto ad ASP. Ad esempio, è molto più semplice ed immediato generare una pagina contenente una lista di dati prelevati da un mwaadatabase.
Altri vantaggi sono:
• Il codice pre-compilato consente alle applicazioni di girare più velocemente, con un maggior numero di errori di programmazione rilevati ed eliminati già in fase di sviluppo, nonché permette di distribuire un'applicazione web senza dover necessariamente allegarne il sorgente.
• I controlli definiti dall'utente consentono di implementare facilmente controlli molto comuni, come ad esempio, i mwbqmenù.
• ASP.NET può mwcgimpersonare qualsiasi mwcwutente del server Windows dove è in esecuzione, mwdaereditandone tutti i privilegi sul mwdqfile system.
• L'affinità con lo stile grafico e di programmazione delle applicazioni Windows rende il passaggio da una all'altra più intuitivo per i programmatori.
• La disponibilità di un set di controlli e librerie di classi molto ricco consente il rapido sviluppo di applicazioni.
• La possibilità di eseguire una copia mweqcache di intere pagine, di parte delle pagine o dei dati dell'applicazione migliora notevolmente le performance complessive.
• Se un'applicazione ASP.NET non riesce ad allocare la memoria di cui necessita (mwewmemory leakage), allora il modulo runtime scarica dalla memoria l'intero ambiente isolato in cui gira l'applicazione critica, e lo ricarica in un'altra area appositamente creata. Per eseguire queste operazioni di caricamento/scaricamento (ed altre che riguardano l'applicazione nel suo complesso) il Framework. NET mette a disposizione la classe mwfaAppDomain.
• Lo stato della mwfgsessione ASP.NET può essere salvato in un database server mwfwSQL o in un processo separato residente sulla stessa macchina del Server web, oppure su quello di un'altra macchina. I dati e le proprietà della sessione non sono persi quando l'mwgaInternet Information Services (IIS) viene resettato, oppure quando il processo attivo di ASP.NET è riciclato.
• Con l'utilizzo di mwggVisual Studio .NET e IIS mwgwServer è possibile eseguire il debug lato server, con gli stessi strumenti passo-passo utilizzati nella maggior parte degli ambienti di sviluppo compilativi.
• La capacità della piattaforma .NET CLR di supportare molti linguaggi, permette ai programmatori di scrivere codice per pagine Web in VB.NET, C#, J#, ecc.
Critiche ad ASP.NET
ASP e ASP.NET possono girare insieme nella stessa applicazione web. Questo approccio consente agli sviluppatori di migrare da un ambiente all'altro gradualmente invece che tutto in una volta. Con mwhwIIS 6.0 e versioni precedenti, le pagine scritte usando versioni precedenti del framework ASP non possono condividere la stessa sessione senza l'uso di librerie di terze parti. Questa limitazione non esiste per applicazioni ASP.NET e ASP che girano insieme sotto mwiaIIS 7. In alcuni casi durante il runtime ASP.NET ricicla il processo attivo, provocando l'occupazione di più del 60% della memoria disponibile. Si può configurare in modo che il riciclo avvenga solo dopo un certo numero di richieste, dopo un certo tempo, ecc. Tuttavia così facendo l'utilizzatore può perdere lo stato della sessione corrente. Se l'applicazione usa lo stato della sessione per caricare le informazioni di autenticazione (cattiva pratica poiché l'autenticazione basata sui cookie e membership è un'opzione disponibile già integrata nel framework) e se l'applicazione è configurata per usare sessioni in-process, l'utente può essere disconnesso se il processo viene riciclato.mwiqhttps://mobikul.com/erp-app-development/
Esempio di codice
Segue il codice sorgente che genera il classico messaggio minimo:
<%@ Page Language="C#" %>
<HTML>
<HEAD>
<TITLE> Esempio di pagina ASPX </TITLE>
</HEAD>
<BODY>
<DIV STYLE="TEXT-ALIGN:CENTER">
<%
int mciclo;
String mstringa = "";
for (mciclo = 1; mciclo <= 10; mciclo++) {
mstringa = mstringa + String.Format("<SPAN STYLE='FONT-SIZE: {0}PX'> Hello world in ASP.NET </SPAN><br />", mciclo);
}
Message.InnerHtml = mstringa;
%>
<SPAN id = "Message" runat="server"/>
</DIV>
</BODY>
</HTML>
I nomi dei file ASP.NET hanno estensione mwaro.aspx. La direttiva mwarsPage consente di specificare il linguaggio utilizzato (nell'esempio C#), e numerosi altri attributi che consentono di descrivere le proprietà e l'aspetto della pagina. Ogni pagina aspx può contenere una sola direttiva mwarwPage. Notare che le righe di codice di esempio che seguono la direttiva mwar0Page sono normale codice HTML.
Vengono dichiarate 2 variabili: l'intero mwar8mciclo e la stringa denominata mwasamstringa, e viene definito un ciclo mwasefor per visualizzare il messaggio con caratteri di dimensione crescente da 1 e 10. La variabile mwasimstringa memorizza il codice HTML da visualizzare. Al termine del ciclo viene settata la proprietà mwasmInnerHtml dell'oggetto mwasqMessage.
Il tag mwasymwasc<SPAN> è dotato dell'attributo mwasgmwaskrunat che indica che l'elemento deve essere eseguito mwasolato Server, come avviene tipicamente nelle applicazioni sviluppate in ASP.NET.
Strumenti di sviluppo
Sono disponibili molteplici software per sviluppare applicazioni ASP.NET, i principali e più diffusi sono:
• mwas8Visual Studio .NET
• mwateASP.NET Web Matrix
• Macromedia Dreamweaver MX 2004
• Macromedia Dreamweaver 8
• Visual Web Developer 2005 Express Edition (per ASP.NET 2.0)
• Visual Web Developer 2008 Express Edition (per ASP.NET 3.5)
• mwatsVisual Studio 2005 (per ASP.NET 2.0)
• mwat0Visual Studio 2008 (per ASP.NET 3.5)
• mwat8Visual Studio 2010 (per ASP.NET 4.0)
• mwaueVisual Studio 2012 (per ASP.NET 4.5)
• mwaumVisual Studio 2015 (per ASP.NET 4.6)
• mwauuVisual Studio 2017
• mwaucVisual Studio 2019
• mwaukVisual Studio Code
• mwausDelphi
ASP.NET 3.5
ASP.NET 3.0 non è mai esistito. Microsoft ha infatti usato il nome ".NET Framework 3.0" per distribuire un insieme di nuove tecnologie: WPF (mwau4Windows Presentation Foundation), WCF (mwau8Windows Communication Foundation) e WF (Windows Workflow Foundation). Tuttavia .NET Framework 3.0 non include una nuova versione della CLR o di ASP.NET. Rispetto alla versione 2.0, la versione 3.5 di ASP.NET può essere considerata una graduale evoluzione; in particolare le nuove funzionalità si concentrano in tre aree: mwaveLINQ, mwaviAJAX e mwavmSilverlight.
Sicurezza
Un sito web in ASP.NET può essere soggetto ad attacchi hackercite-ref-5[5]:
• Configurazione errata delle opzioni di sicurezza
• mwav0Cross-Site Request Forgery (CSRF): consente a un utente malintenzionato di forzare un utente convalidato e connesso a eseguire azioni senza il suo consenso
• mwav8Cross-Site Scripting (XSS)
• Caricamento di file dannosi: gli aggressori possono modificare le estensioni dei file (ad esempio da ".exe" in ".jpeg" ) e lo script dannoso può essere caricato come file immagine
• Divulgazione della versione: le informazioni sulla versione possono essere utilizzate da un utente malintenzionato. Ogni volta che un browser invia una richiesta HTTP al server, in risposta otteniamo un'intestazione di risposta che contiene tutte le informazioni sul server
• mwawmSQL Injection: permette agli attaccanti di effettuare attività di mwawqspoof identify, modificare dati esistenti, causare repudiation issues come l'annullamento di transazioni o la modifica dei bilanci, permette di ottenere tutti i dati sul sistema, eliminare o rendere inaccessibile dei dati, e creare o compromettere gli utenti del database server.
• Esposizione a dati sensibili: password, numeri PAN, informazioni sulla carta di credito eccetera
• Autenticazione interrotta e gestione delle sessioni. Se l'autenticazione e la gestione delle sessioni non sono implementate correttamente in un'applicazione web, la lascerà vulnerabile agli attacchi. Gli aggressori possono rubare dati a causa di:
1. Connessioni non protette (non utilizzando mwawkSSL)
2. Credenziali di accesso prevedibili
3. Non memorizzare le credenziali in una forma crittografata
4. Logout dell'applicazione non corretto
• Reindirizzamenti e inoltri non convalidati. Se non convalidiamo i reindirizzamenti delle pagine web il rischio di un attacco aumenta. Questo attacco viene utilizzato principalmente per mwaw8phishing all'utente di credenziali o per installare malware dannoso.
Modelli di programmazione
ASP.NET supporta una serie di modelli di programmazione per la creazione di applicazioni Webcite-ref-6[6]:
• ASP.NET Web Form: un framework per la creazione di pagine modulari da componenti, con eventi dell'interfaccia utente elaborati lato server.
• ASP.NET MVC: consente di creare pagine Web utilizzando il modello di progettazione modelmwaxk – viewmwaxo – controller.
• ASP.NET Web Pages: sintassi leggera per l'aggiunta di codice dinamico e accesso ai dati direttamente all'interno del markup HTMLcite-ref-7[7].
• ASP.NET Web API: framework per la creazione di API Web su .NET Frameworkcite-ref-8[8].
• Webhook ASP.NET: implementa il modello webhook per la sottoscrizione e la pubblicazione di eventi tramite HTTP.
• SignalR - Un framework di comunicazione in tempo reale per la comunicazione bidirezionale tra client e server.
Altre estensioni ASP.NET includono:
• ASP.NET Handler: componenti che implementano l'interfaccia mwayoSystem.Web.IHttpHandler. A differenza delle pagine ASP.NET, non hanno file di markup HTML, eventi e altro supporto. Tutto quello che hanno è un file di codice (scritto in qualsiasi linguaggio compatibile con .NET) che scrive alcuni dati nella risposta HTTP del server. I gestori HTTP sono simili alle estensioni ISAPI.
• ASP.NET AJAX - Un'estensione con componenti sia lato client che lato server per la scrittura di pagine ASP.NET che incorporano funzionalità Ajax.
• ASP.NET Dynamic Data: un'estensione di mway0scaffolding per creare applicazioni Web basate sui dati.
Pipeline integrata IIS
In IIS 6.0 e versioni precedenti, le pagine scritte utilizzando versioni diverse del framework ASP non possono condividere lo stato della sessione senza l'utilizzo di librerie di terze parti. Ciò non si applica alle applicazioni ASP.NET e ASP in esecuzione fianco a fianco su IIS 7. Con IIS 7.0, i moduli possono essere eseguiti in una pipeline integrata che consente l'esecuzione di moduli scritti in qualsiasi linguaggio per qualsiasi richiestacite-ref-9[9].
Versioni
| Data | Versione |
|---|---|
| 30 novembre 2015 | 4.6.1 |
| 30 aprile 2018 | 4.7.2 |
| 24 aprile 2003 | 1.1 |
| 21 novembre 2006 | 3.0 |
| 20 luglio 2015 | 4.6 |
| 19 novembre 2007 | 3.5 |
| 18 novembre 2015 | 5 RC1 |
| 18 aprile 2019 | 4.8 |
| 17 ottobre 2017 | 4.7.1 |
| 17 ottobre 2013 | 4.5.1 |
| 16 gennaio 2002 | 1.0 |
| 15 agosto 2012 | 4.5 |
| 12 aprile 2010 | 4.0 |
| 11 aprile 2017 | 4.7 |
| 11 agosto 2008 | 3.5 Service Pack 1 |
| 7 novembre 2005 | 2.0 |
| 5 maggio 2014 | 4.5.2 |
| 2 agosto 2016 | 4.6.2 |
Confronto con PHP
| PRO | PRO | CONTRO | CONTRO |
|---|---|---|---|
| PHP | ASP.NET | PHP | ASP.NET |
| È un open-source quindi è gratuito e viene costantemente migliorato da un gran numero di persone piuttosto che da una singola azienda | Supporta tutti i linguaggi di programmazione e funziona bene con le app o C # | Non è adatto a creare applicazioni desktop | Meno facile da imparare e comprendere di PHP |
| Ci sono più gruppi di supporto online per aiutare ad accelerare il processo di apprendimento rispetto ad ASP.NET | Informa gli sviluppatori se hanno commesso errori nella codifica prima della compilazione | La gestione degli errori PHP è considerata scarsa rispetto ad ASP.NET, quindi può richiedere più tempo per scoprire un problema | Comunità di supporto più piccola |
| Più facile da imparare e comprendere rispetto ad ASP.NET | Viene fornito con molti strumenti e funzionalità per supportare i programmatori. | Consente la personalizzazione che causa bug e codifica scadente rispetto ad ASP.NET | Funziona solo su un server Microsoft |
| Funziona anche su server Linux | Creazione applicazioni desktop. | Essendo Open Source, il codice è alla portata di tutti ed è quindi più esposto ad attacchi | Più costoso a causa della licenza Microsoft |
Note
cite-note-11. ↑ mwagy(mwagcmwaggEN) mwagkmwago.NET is open source on GitHub | .NET, su mwagsMicrosoft. mwagwURL consultato il 4 maggio 2022.
cite-note-22. ↑ mwahamwahemwahiChe cos’è ASP.NET?, su mwahmIONOS Digitalguide. mwahqURL consultato il 4 maggio 2022.
cite-note-33. ↑ mwahg(mwahkmwahoEN) mwahsmwahwWhat is ASP.NET? | The Open Source Web Framework, su mwah0umbraco.com. mwah4URL consultato il 4 maggio 2022.
cite-note-44. ↑ mwaii(mwaimmwaiqEN) wadepickett, mwaiumwaiyASP.NET documentation, su mwaicdocs.microsoft.com. mwaigURL consultato il 4 maggio 2022.
cite-note-55. ↑ mwaiwmwai0mwai49 Ways Hackers Exploit ASP.NET – and How to Prevent Them, su mwai8Business 2 Community. mwajaURL consultato il 28 gennaio 2021.
cite-note-66. ↑ mwajq(mwajumwajyEN) mwajcmwajgChoose between ASP.NET and ASP.NET Core, su mwajkdocs.microsoft.com.
cite-note-77. ↑ mwaj0(mwaj4mwaj8EN) mwakamwakeASP.NET Web Pages (Razor) FAQ, su mwakidocs.microsoft.com.
cite-note-88. ↑ mwaky(mwakcmwakgEN) mwakkmwakoGet Started with ASP.NET Web API 2 (C#), su mwaksdocs.microsoft.com.
cite-note-99. ↑ mwak8mwalamwaleHow to Take Advantage of the IIS 7.0 Integrated Pipeline, in mwaliiis.net. mwalmURL consultato il 30 gennaio 2021 mwalq(archiviato dall'mwaluurl originale il 24 marzo 2010).
cite-note-1010. ↑ mwalk(mwalomwalsEN) mwalwmwal0PHP vs ASP.NET: Top Differences for Beginners’ Understanding, su mwal4Arka Softwares, 13 ottobre 2023. mwal8URL consultato il 7 marzo 2024.
cite-note-1111. ↑ mwamm(mwamqmwamuEN) Varun Bhagat, mwamymwamcASP.Net vs PHP: Which is Better?, su mwamgPixelCrayons, 8 ottobre 2019. mwamkURL consultato il 30 gennaio 2021.
cite-note-1212. ↑ mwam0(mwam4mwam8EN) Kiranbeladiya, mwanamwane.NET Framework Vs .NET Core: A Complete Quick Comparison, su mwaniTheOneTechnologies, 24 settembre 2021. mwanmURL consultato il 24 giugno 2022.
Voci correlate
• mwancMicrosoft .NET
• mwankVisual Basic .NET
• mwansC#
• mwan0Microsoft Visual Studio
• mwan8.NET Framework
Altri progetti
Altri progetti
• Wikimedia Commons
• Wikimedia Commons contiene immagini o altri file su ASP.NET
Collegamenti esterni
• (EN) Sito ufficiale, su dotnet.microsoft.com.
• Repository sorgenti di ASP.NET, su github.com.
• mwaoyaspnet.HTML.it. Guide, articoli di approfondimento, script, FAQ e forum dedicati alla tecnologia Microsoft per il Web
• mwaogASPItalia.com: storica community su ASP e ASP.NET, dal 1998, su aspitalia.com.
• mwaooControlli Server ASP.NET, su webmasterpoint.org.
• mwaowUGIdotNET: User Group italiano su .NET, su ugidotnet.org.
• mwao4(EN) Visual Web Developer Express Edition 2005, su msdn.microsoft.com. URL consultato il 25 aprile 2019 (archiviato dall'url originale il 18 luglio 2007).
• mwapa(EN) DotNetSpace articoli su ASP.NET 2.0, su dotnetspace.com.
• mwapi(EN) C# Online.NET (archiviato dall'url originale il 19 novembre 2018). - C# e .NET enciclopedia.
• mwapq(EN) articoli su ASP.NET, su aspdev.org.
• mwapy(EN) Developer Fusion; tutorial e codice sorgente ASP.NET, su developerfusion.co.uk. URL consultato il 3 giugno 2005 (archiviato dall'url originale il 3 marzo 2006).
• mwapg(EN) W3Schools tutorial, su w3schools.com.
• mwapo(EN) Mono: implementazione open source del Framework .NET compatibile con molte piattaforme, su mono-project.com.
• mwapw(EN) ASPAlliance: Tutorial ASP e ASP.NET, su aspalliance.com. URL consultato il 3 giugno 2005 (archiviato dall'url originale il 13 marzo 2006).
• mwap4(EN) VisualBuilder: Tutorial ASP.NET, su visualbuilder.com. URL consultato il 12 ottobre 2007 (archiviato dall'url originale il 12 ottobre 2007).